<?php

declare(strict_types=1);

namespace App\CustHub\Model;

use Mine\MineModel;

/**
 * @property int $id 聊天记录ID
 * @property string $user_id 客服ID（0:代表待分配客服消息 >0: 用户ID）
 * @property string $msg_type 消息类型[1:文本消息;2:文件消息;3:会话消息;4:代码消息;5:投票消息;6:群公告;7:好友申请;8:登录通知;9:入群消息/退群消息;]
 * @property int $msg_id 企微发送的消息ID
 * @property int $robot_id 机器人ID
 * @property string $from_room_id 群聊ID
 * @property string $sender 发送者ID
 * @property string $receiver 接收者ID
 * @property int $is_revoke 是否撤回消息[0:否;1:是]
 * @property int $is_cs 是否客服发送：[0:否;1:是;]
 * @property int $quote_id 引用消息ID
 * @property array $content 消息内容
 * @property array $warn_users @好友 、 多个用英文逗号 "," 拼接 (0:代表所有人)
 * @property \Carbon\Carbon $created_at 创建时间
 * @property \Carbon\Carbon $updated_at 更新时间
 */
class ChTalkRoomRecord extends MineModel
{
    /**
     * The table associated with the model.
     */
    protected ?string $table = 'ch_talk_room_records';

    /**
     * The attributes that are mass assignable.
     */
    protected array $fillable = ['id', 'user_id', 'msg_type', 'msg_id', 'robot_id', 'from_room_id', 'sender', 'receiver', 'is_revoke', 'is_cs', 'quote_id', 'content', 'warn_users', 'created_at', 'updated_at'];

    /**
     * The attributes that should be cast to native types.
     */
    protected array $casts = ['id' => 'integer', 'msg_id' => 'integer', 'robot_id' => 'integer', 'is_revoke' => 'integer', 'is_cs' => 'integer', 'quote_id' => 'integer', 'content' => 'array', 'warn_users' => 'array', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
}
